1
A Arte das Definições Flexíveis de Métodos
AI035Lesson 4
00:00

Ruby eleva as definições de métodos de assinaturas rígidas para interfaces dinâmicas. Ao dominar o operador Splat operador e a lógica baseada em expressões, criamos métodos que se adaptam com elegância a diferentes densidades de dados, sem necessidade de sobrecargas complexas.

1. Padrões Inteligentes e Splat

Ruby permite que parâmetros sejam inicializados diretamente na assinatura, garantindo funcionalidade mesmo com poucos dados. O operador Splat (*) age como uma ponte: nos parâmetros, ele captura argumentos extras em um array; nas chamadas, ele 'explode' um array em slots individuais.

A CAPTURA (Parâmetro)def f(a, *rest)f(1, 2, 3) →rest = [2, 3]A EXPLOSÃO (Chamada)arr = [1, 2, 3]meth(*arr) →meth(1, 2, 3)

2. Retornos Baseados em Expressões

Métodos em Ruby retornam automaticamente o valor da última expressão executada. No entanto, a palavra-chave return é usada estrategicamente para sair antecipadamente ou retornar múltiplos valores como um array para atribuição paralela.

num, sq = meth_three
# Ruby empacota (num, sq) como um array [32, 1024]
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>